package com.yixun.qfbao.apidto;

import com.yixun.qfbao.annotation.Constants;
import com.yixun.qfbao.annotation.TYWValid;
import com.yixun.qfbao.apidto.base.CommonReqDTO;
import com.yixun.qfbao.util.DateUtils;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

public class GetStoreReportPageReqDto extends CommonReqDTO implements Serializable {

    /**
     * 开发商id
     */
    private Long devCompanyId;
    /**
     * 页码
     */
    @TYWValid(min = 1,max = 20, regModel = Constants.NUMBER)
    private Integer pageNo;
    /**
     * 页数
     */
    @TYWValid(min = 1,max = 20, regModel = Constants.NUMBER)
    private Integer pageSize;
    /**
     * 开始时间
     */
    @DateTimeFormat(iso = DateTimeFormat.ISO.DATE)
    private Date beginDate;
    /**
     * 结束时间
     */
    @DateTimeFormat(iso = DateTimeFormat.ISO.DATE)
    private Date endDate;

    /**
     * 门店名
     */
    private String storeName;

    /**
     * 合作机构id
     */
    private Long orgId;

    /**
     * 楼盘id
     */
    private Long premisesId;

    private String companyName;

    private List<Long> agencyDeptIds;

    public Integer getPageNo() {
        return pageNo;
    }

    public void setPageNo(Integer pageNo) {
        this.pageNo = pageNo;
    }

    public Integer getPageSize() {
        return pageSize;
    }

    public void setPageSize(Integer pageSize) {
        this.pageSize = pageSize;
    }

    public Date getBeginDate() {
        return beginDate;
    }

    public void setBeginDate(Date beginDate) {
        this.beginDate = DateUtils.getCurrentMidnight(beginDate);
    }

    public Date getEndDate() {
        return endDate;
    }

    public void setEndDate(Date endDate) {
        this.endDate = DateUtils.getMidnight(endDate);
    }

    public String getStoreName() {
        return storeName;
    }

    public void setStoreName(String storeName) {
        this.storeName = storeName;
    }

    public Long getOrgId() {
        return orgId;
    }

    public void setOrgId(Long orgId) {
        this.orgId = orgId;
    }

    public Long getPremisesId() {
        return premisesId;
    }

    public void setPremisesId(Long premisesId) {
        this.premisesId = premisesId;
    }

    public Long getDevCompanyId() {
        return devCompanyId;
    }

    public void setDevCompanyId(Long devCompanyId) {
        this.devCompanyId = devCompanyId;
    }

    public String getCompanyName() {
        return companyName;
    }

    public void setCompanyName(String companyName) {
        this.companyName = companyName;
    }

    public List<Long> getAgencyDeptIds() {
        return agencyDeptIds;
    }

    public void setAgencyDeptIds(List<Long> agencyDeptIds) {
        this.agencyDeptIds = agencyDeptIds;
    }
}
